<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // push
        /* ●作用：用来在数组的末尾追加元素
        ●语法： 数组.push(数据)
        ●返回值：添加数据以后, 数组最新的 长度
        */
        // pop 
        /* 
        ●作用：pop 是用来删除数组末尾的一个元素
        ●语法：数组.pop()
        ●返回值：被删除的数据
        */

        // unshift 
        /* ●作用：在数组的最前面添加元素
        ●语法：数组.unshift(数据)
        ●返回值：返回数组最新的长度 */

        // shift
        /* ●作用：删除数组最前面的一个元素
        ●语法：数组.shift()
        ●返回值：被删除的数据
        */

        // push pop 操作的是数组的末尾  栈方法  先进后出 后进先出

        // unshift 和 shift 操作的是数组的开头 队列方法 先进先出


        // push 和unshift 是往数组添加一个元素 
        // pop 和shift 是从数组中移出一个元素 


        // var heros = ['姬小满','莱西奥','赵怀真','海月','戈娅','桑启','暃暃','金蝉','云缨','艾琳'];
        // // alert(heros.length)
        // console.log(heros);
        // var res = heros.push('上官婉儿');
        // // alert(res); //新数组的长度

        // console.log(heros);

        // var arrs = [];
        // for(var i=2;i<=60;i+=2){
        //     // i  2 4 6 8 10 ...60
        //     arrs.push(i);
        // }

        // console.log(arrs)

        // var heros = ['姬小满','莱西奥','赵怀真','海月','戈娅','桑启','暃暃','金蝉','云缨','艾琳'];
        // console.log(heros);
        // var res = heros.pop();
        // console.log(heros);
        // console.log(res);


        // var heros = ['姬小满','莱西奥','赵怀真','海月','戈娅','桑启','暃暃','金蝉','云缨','艾琳'];
        // alert(heros.length) // 10
        // console.log(heros); // 原数组
        // var res = heros.unshift('上官婉儿');
        // alert(res); // 新数组的长度
        // console.log(heros); // 原数组发生了改变 元素插入到了数组的开头


        var heros = ['姬小满', '莱西奥', '赵怀真', '海月', '戈娅', '桑启', '暃暃', '金蝉', '云缨', '艾琳'];
        console.log(heros);
        var res = heros.shift();
        console.log(heros);
        console.log(res);


        // 上面四个方法 原数组发生了改变  

        var heros = ['姬小满', '莱西奥', '赵怀真', '海月', '戈娅', '桑启', '暃暃', '金蝉', '云缨', '艾琳'];

        // 要求复制一个一模一样的数组 顺序一样 元素一样
        // 相互独立 
        // var arrs = heros; 
        //开辟一个新的栈内存空间 两个栈内存同时指向一个堆内存 
        // 相互影响 这种方法不行
        var arrs = [];
        for (var i = 0; i < heros.length; i++) {
            arrs.push(heros[i])
        }
        console.log(arrs);


        var arrs = [];
        for (var i in heros) {
            arrs.push(heros[i])
        }
        console.log(arrs);


        var arrs = [];
        for (var i of heros) {
            arrs.push(i)
        }
        console.log(arrs);

        function copyarr(target) {
            var arrs = [];
            for (var i of heros) {
                arrs.push(i)
            }
            return arrs;
        }


    </script>
</body>

</html>